Chapter 14: Exercises

選擇題


簡答題

  1. 請簡單說明下列伺服器變數的意義:
    1. Request.ServerVariables("REMOTE_ADDR")
    2. Request.ServerVariables("LOCAL_ADDR")
    3. Request.ServerVariables("HTTP_VIA")
    4. Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  2. 請簡單說明下列伺服器變數的意義:
    1. Request.ServerVariables("SERVER_NAME")
    2. Request.ServerVariables("SERVER_PORT")
    3. Request.ServerVariables("SERVER_PROTOCOL")
    4. Request.ServerVariables("SERVER_SOFTWARE")
    5. Request.ServerVariables("SERVER_PORT_SECURE")
  3. 請簡單說明下列伺服器變數的意義:
    1. Request.ServerVariables("APPL_PHYSICAL_PATH")
    2. Request.ServerVariables("PATH_TRANSLATED")
    3. Request.ServerVariables("PATH_INFO")
    4. Request.ServerVariables("SCRIPT_NAME")
    5. Request.ServerVariables("URL")
  4. 請簡單說明下列伺服器變數的意義:
    1. Request.ServerVariables("HTTP_USER_AGENT")
    2. Request.ServerVariables("LOGON_USER")
    3. Request.ServerVariables("HTTP_REFERER")
  5. 請列舉兩個應用,都使用 Request.ServerVariables("HTTP_REFERER")。
  6. 要將用戶端的表單資料送到伺服器,
    1. http protocal 支援哪兩種不同的方法?
    2. 各有什麼特性?
    3. 在伺服器端要分別用什麼變數接收?
    4. 伺服器如何決定 Request("欄位名稱") 的變數值?
  7. 請說明如何並行使用 get 及 post 這兩種方法,來傳送表單資料到伺服器?
  8. 如果你的欄位名稱在表單中有所重複,那麼在伺服器端要用什麼方法讀出相關資料?

程式題

請使用本章所學到的 JavaScript/JScript 程式技巧(用於伺服器端)來完成下列作業:
  1. (*) 依排序方式列出Request.ServerVariables: 請寫一個網頁 orderedRequestServerVariables.asp,可以使用排序的方式(依「變數值」來排序)列出 Request.ServerVariables 的所有變數名稱和變數值。(原先預設的方式,是以「變數名稱」來排序。)
  2. (*) 根據使用者IP而回傳不同網頁內容: 請寫一個網頁 ipRestriction.asp,可以根據使用者的 IP 來限制瀏覽內容:
    • 如果使用者的 IP 不是 140.114 開頭,就回傳「抱歉,此網頁內容只開放給清大同學!」。
    • 如果使用者的 IP 是 140.114 開頭,就回傳「歡迎來到此清大同學專屬的網頁!」。
    (提示:可使用 Request.ServerVariables("REMOTE_ADDR")。)
  3. (**) 根據來源網頁而有不同行為: 請寫兩個網頁 main.asp 和 slave.asp,其中 main.asp 包含可連到 slave.asp 的連結,可以滿足下列要求:
    • 如果使用者經由 main.asp 來連結到 slave.asp,則顯示 slave.asp 的內容。
    • 如果使用者不經由 main.asp 來連結到 slave.asp(譬如直接在瀏覽器打入 slave.asp 的網址,或是經由其它網頁連結至 slave.asp),則在顯示「抱歉,此網頁不允許直接連結或他頁連結!」五秒之後,瀏覽器會直接轉址到 main.asp。
    (提示:可使用 Request.ServerVariables("HTTP_REFERER")。)

JScript 程式設計與應用:用於伺服器端的 ASP 環境